package com.itany.corejava.code06_数组;

import java.util.Arrays;

/**
 * @author MissChen
 * @version 1.0
 * @date 2023 年10月27日 14:48
 */
public class Test08_冒泡排序法 {
    public static void main(String[] args) {
        // 冒泡排序法:比较相邻的元素，如果第一个值比第二个值大，就交换它们两个的位置(升序)
        // 对所有元素重复同样的操作
        // n个元素
        // 需要比较的轮数:n-1轮
        // 每一轮比较的次数:n-m,m表示第几轮
        int[] arr={88,21,10,13,56};
        for(int i=1;i<arr.length;i++){//外层循环控制比较的轮数

            // i=1 j=0;j<4
            // i=2 j=0;j<3
            for(int j=0;j<arr.length-i;j++){//内层循环控制每一轮比较的次数

                //比较相邻的两个元素的大小，如果前一个元素大于后一个元素，则交换两者的位置
                if(arr[j]>arr[j+1]){//arr[0]>arr[1]    arr[1]>arr[2]
                    int temp=arr[j];//temp=88          temp=88
                    arr[j]=arr[j+1];//arr[0]=21        arr[1]=10
                    arr[j+1]=temp;//arr[1]=88          arr[2]=88
                }
            }

            System.out.println("第"+i+"轮比较的结果是:"+ Arrays.toString(arr));
        }
        System.out.println("最终的比较结果是:"+Arrays.toString(arr));
    }
}
